//*************************************************
//Program #4       LRU.h
//*************************************************
//Names: Stephen Durfrey,  Andrew Brock
//Due: April 23, 2010
//Operating Systems
//Related Files:  LRU.cpp
// Least-Recently-Used PGA: Associates with each page the time
//  of that pages' last use.

#ifndef LRU_H
#define LRU_H

#include "Page_Replacement_Algorithm.h"
#include <list>

class LRU : Page_Replacement_Algorithm
{
private:
	list<int> framesList;
	list<int> ref_string_list;
	list<int>::iterator ref_page;
	list<int>::iterator checkFrame(list<int>::iterator check);
	void findPage();
	list<int>::iterator searchFrames(list<int>::iterator value, bool &inFrame);
	
public:
		LRU();
		void init(int frames, list<int> ref_str);
		void run();
};

#endif

